不同版本SDK开发请参考提供的Demo代码,本文使用2.1.4.10版本SDK,该版本提供32位windows系统动态库,用户SDK目录文件如下:
- libhlUserSdk.chm文件:SDK数据结构体与SDK API接口函数说明文档;
- libhlUserSdk.dll与libhlUserSdk.lib文件:32位windows系统动态库;
- libhlUserSdk.h文件:SDK头文件;
- miot_client_demo文件:用户SDK例程QT工程;
服务器用户SDK开发流程:
- 使能用户SDK环境:[linux系统库,初始化SDK函数需要传入使用网卡的名称]
/** * @brief initUserSdk: SDK初始化函数,用户配置服务器域名并连接服务器 * @author HaiLin.toraloo * @param[in] pSavefilePath SDK下载文件存储路径 * @param[in] pIPAddr 传入服务器域名或者服务器IP地址串 * @param[in] isDomain 采用域名解析还是IP地址串解析标志: * - 0:IP地址串解析 * - 1:域名解析 * @param[in] pNetcardName 网卡名称 * @return * - 1:成功 * - 0:失败 * @warning pIPAddr传入空值时,isDomain必须为true */ #if _WIN32 EXTERN_C_ HAILIN_USER_API bool _APICALL initUserSdk(const char *pSavefilePath, const char *pIPAddr, int isDomain); #else EXTERN_C_ HAILIN_USER_API bool _APICALL initUserSdk(const char *pSavefilePath, const char *pIPAddr, int isDomain, const char *pNetcardName); #endif
- 注册SDK事件处理回调函数:
/** * @brief eventCallbackfunction:事件处理回调函数 * @author HaiLin.toraloo * @param[in] pUserParam 用户传入数据 * @param[in] nCmdCode 事件指令码 * @param[in] pEvtDat 事件数据 * @param[in] nlen 事件数据长度 * @return 暂不使用 * @warning 警告: 传入参数不能为空 */ static int eventCallbackfunction(void *pUserParam, int nCmdCode, const char *pEvtDat, int nlen); /*---------------------------------------------------------------------------------------------------------*/ char *pTestUserParam = "UserRegisterToSdkClassData"; // 用户传入回调函数参数 registerSdkEventCallbackfx(pTestUserParam, eventCallbackfunction); // 注册用户数据与事件处理回调函数 /*---------------------------------------------------------------------------------------------------------*/
- 完成1、2步骤后,便可直接调用SDK的功能函数,当前版本SDK提供18个功能函数,可轻易完成应用软件对硬件设备的管理与控制;[功能函数详细说明参见:libhlUserSdk.chm文档]
- 用户SDK销毁函数:
/** * @brief destroyUserSdk:销毁sdk资源并等待线程结束 * @author HaiLin.toraloo * @return * - 1:成功 * - 0:失败 */ EXTERN_C_ HAILIN_USER_API bool _APICALL destroyUserSdk(void);
- 完整代码参考SDK压缩包中mainRel.cpp例程代码;
如需要不同平台的用户SDK库,可将对应平台信息发送至该邮箱地址:toriejiang1991@sina.cn